/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: AliceMana
 * Date: 2022-07-25
 * Time: 21:41
 */
public class TestDemo {
    public static void main(String[] args) {
        /**
         * 将字符串转为其他类型
         */
        String str = "1234";
        int a = Integer.parseInt(str);
        System.out.println(a+1);//1234+1=1235
        //或
        a = Integer.valueOf(str);
        System.out.println(a+1);
    }
    public static void main6(String[] args) {
        /**
         * 将其他类型转换为字符串类型
         */
        int a = 10;
        String str = a + "";
        //System.out.println(str);
        //2.借助方法
        String ret = String.valueOf(10);
        System.out.println(ret);
    }
    public static void main5(String[] args) {
        /**
         * 字符串类型
         */
        String str = "hello";
        System.out.println(str);
        int a = 10;
        int b = 20;
        //字符串与整型的运算是拼接
        System.out.println("a:"+ a +"b:"+ b);//a:10b:20
        System.out.println("a:"+ a + b);//a:1020
        System.out.println(a+b+"a:");//30a:   、、在字符串前相加会按照原本形式相加
    }
    public static void main4(String[] args) {
        /**
         * 不同类型变量之间的赋值与强制类型转换
         */
        //1
        int a = 10;//4个字节
        long b = 20L;//8个字节
        //a = b;//非法  不能将大字节的类型变量赋值给小字节类型的变量，就好比a是5块钱，b是10块钱
        //用10块钱换5块钱  血亏
        b = a;//合法    //隐式类型转换
        //如何将long类型变量的值赋给int类型变量
        //强制转换
        a = (int)b; //将b强转为int类型赋值给a


        //2
        // 毫不相干的类型之间不能转换
        /*boolean flag = true;
        int c = (int)flag;
         */
        /*int c = 1;
        boolean flag = (boolean) c;
        */

        //3
        //类型之间的运算
        long la = 20;
        int ia = 10;
        //int sum = la + ia;//非法，需要类型转换
        // int sum = (int) la + ia;//不推荐，但凡进行强制类型转换，都有可能会丢失数据
        //最好写为
        long sum = la + ia;

        //4
        //字节类型和运算
        byte data1 = 10;
        byte data2 = 20;
        byte c = (byte)(data1 + data2);//参与运算的数据，小于4个字节，就会进行整型提升
        int d = data1 + data2;//用整型来接收
    }
    public static void main3(String[] args) {
        /**
         * 字符型  与C语言不同，字符型在Java中占2个字节，16个比特位，且没有负数
         */
        char ch = 'a';
        System.out.println(ch);
    }
    public static void main2(String[] args) {
        /**
         * 布尔类型   boolean
         * 与C语言不同，布尔类型只有true和false
         */
        boolean a = true;
        System.out.println(a);
        boolean b = false;
        System.out.println(b);
    }
    public static void main1(String[] args) {
        /**
         * 如何输出一个类型可以存取的最大最小值
         */
        //整型
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
        //短整型
        System.out.println(Character.MAX_VALUE);//
        System.out.println(Character.MIN_VALUE);//java使用的字符集是Unicode，idea显示不出来

    }
}
